package com.lanyam.travel.base.entity;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author rosson
 * @since 2020-02-22
 */
@TableName("order_goods_date")
public class OrderGoodsDate extends Model<OrderGoodsDate> {

    private static final long serialVersionUID = 1L;

    @JsonProperty(value="id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 订单id
     */
    @JsonProperty(value="orderId")
    @TableField("order_id")
    private String orderId;
    /**
     * 订单详细id
     */
    @JsonProperty(value="orderDetailId")
    @TableField("order_detail_id")
    private String orderDetailId;
    /**
     * 商品id(房间类型id或票类型id)
     */
    @JsonProperty(value="goodsId")
    @TableField("goods_id")
    private String goodsId;
    /**
     * 商品类型(0景点，1酒店，2线路)'
     */
    @JsonProperty(value="goodType")
    @TableField("good_type")
    private Integer goodType;
    /**
     * 当天日期	
     */
    @JsonProperty(value="theDate")
    @TableField("the_date")
    private Date theDate;
    /**
     * 当天的商品单价
     */
    @JsonProperty(value="goodPrice")
    @TableField("good_price")
    private BigDecimal goodPrice;
    /**
     * 商品数量
     */
    @JsonProperty(value="goodQuality")
    @TableField("good_quality")
    private Integer goodQuality;
    /**
     * 优惠比例或优惠金额
     */
    @JsonProperty(value="discountRate")
    @TableField("discount_rate")
    private Double discountRate;
    /**
     * 优惠方式：0为比例，1为金额
     */
    @JsonProperty(value="discountType")
    @TableField("discount_type")
    private Integer discountType;
    /**
     * '票的种类：0团体票，1儿童票，2成人票，3老人票，4学生票'
     */
    @JsonProperty(value="ticketType")
    @TableField("ticket_type")
    private Integer ticketType;

    
    public Double getDiscountRate() {
		return discountRate;
	}

	public void setDiscountRate(Double discountRate) {
		this.discountRate = discountRate;
	}

	public Integer getDiscountType() {
		return discountType;
	}

	public void setDiscountType(Integer discountType) {
		this.discountType = discountType;
	}

	public Integer getTicketType() {
		return ticketType;
	}

	public void setTicketType(Integer ticketType) {
		this.ticketType = ticketType;
	}

	public Integer getId() {
        return id;
    }

    public OrderGoodsDate setId(Integer id) {
        this.id = id;
        return this;
    }

    public String getOrderId() {
        return orderId;
    }

    public OrderGoodsDate setOrderId(String orderId) {
        this.orderId = orderId;
        return this;
    }

    public String getOrderDetailId() {
        return orderDetailId;
    }

    public OrderGoodsDate setOrderDetailId(String orderDetailId) {
        this.orderDetailId = orderDetailId;
        return this;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public OrderGoodsDate setGoodsId(String goodsId) {
        this.goodsId = goodsId;
        return this;
    }

    public Integer getGoodType() {
        return goodType;
    }

    public OrderGoodsDate setGoodType(Integer goodType) {
        this.goodType = goodType;
        return this;
    }

    public Date getTheDate() {
        return theDate;
    }

    public OrderGoodsDate setTheDate(Date theDate) {
        this.theDate = theDate;
        return this;
    }

    public BigDecimal getGoodPrice() {
        return goodPrice;
    }

    public OrderGoodsDate setGoodPrice(BigDecimal goodPrice) {
        this.goodPrice = goodPrice;
        return this;
    }

    public Integer getGoodQuality() {
        return goodQuality;
    }

    public OrderGoodsDate setGoodQuality(Integer goodQuality) {
        this.goodQuality = goodQuality;
        return this;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "OrderGoodsDate{" +
        ", id=" + id +
        ", orderId=" + orderId +
        ", orderDetailId=" + orderDetailId +
        ", goodsId=" + goodsId +
        ", goodType=" + goodType +
        ", theDate=" + theDate +
        ", goodPrice=" + goodPrice +
        ", goodQuality=" + goodQuality +
        "}";
    }
}
